TextLayout: Clarify implementation of special case
authorDaniel Boles <dboles@src.gnome.org>
Wed, 1 Mar 2017 20:10:55 +0000 (20:10 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 18 Feb 2018 03:18:13 +0000 (22:18 -0500)
This exists to exit early for invisible lines. It attempts to use the
LineDisplay’s direction to create a corresponding PangoLayout. However,
the dir is not yet set by this point, & the display was new0()d, so its
dir is always 0 == TEXT_DIR_NONE. Thus, we always create an LTR layout.

Whatever the original intent, this outcome seems to be OK, so let’s make
the code say what it means, rather than using a misleading conditional.

https://bugzilla.gnome.org/show_bug.cgi?id=779099

gtk/gtktextlayout.c

index 1d96d5f7d8e63cf72511560441da0b7a4efbffa3..51ac51a3b6e54e194bb1543b4ed02dba8e8e6312 100644 (file)
@@ -2299,11 +2299,7 @@ gtk_text_layout_get_line_display (GtkTextLayout *layout,
    */
   if (totally_invisible_line (layout, line, &iter))
     {
-      if (display->direction == GTK_TEXT_DIR_RTL)
-       display->layout = pango_layout_new (layout->rtl_context);
-      else
-       display->layout = pango_layout_new (layout->ltr_context);
-      
+      display->layout = pango_layout_new (layout->ltr_context);
       return display;
     }